/**
  ******************************************************************************
  * @file    clk.h
  * @author  ashuai0110
  * @version V1.0
  * @date    2024-01-19
  * @brief   clk驱动,适用于PIC16(L)F1788_9
  *
  ******************************************************************************
  * @attention
  *
  ******************************************************************************
  */

#ifndef __CLK_H
#define __CLK_H

#ifdef __cplusplus
extern "C" {
#endif

/* 包含头文件-----------------------------------------------------------------*/
#include "common.h"

/* 宏定义---------------------------------------------------------------------*/
/* 内部振荡器频率选择 */
#define OSC_31K_LF                  (0x0) /* 31KHz LF */
#define OSC_31_25K_MF               (0x2) /* 31.25KHz MF */
#define OSC_31_25K_HF               (0x3) /* 31.25KHz HF */
#define OSC_62_5K_MF                (0x4) /* 62.5KHz MF */
#define OSC_125K_MF                 (0x5) /* 125KHz MF */
#define OSC_250K_MF                 (0x6) /* 250KHz MF */
#define OSC_500K_MF                 (0x7) /* 500KHz MF 复位时的默认值 */
#define OSC_125K_HF                 (0x8) /* 125KHz HF */
#define OSC_250K_HF                 (0x9) /* 250KHz HF */
#define OSC_500K_HF                 (0xA) /* 500KHz HF */
#define OSC_1M_HF                   (0xB) /* 1MHz HF */
#define OSC_2M_HF                   (0xC) /* 2MHz HF */
#define OSC_4M_HF                   (0xD) /* 4MHz HF */
#define OSC_8M_HF                   (0xE) /* 8MHz或32MHz(4xPLL使能) HF */
#define OSC_16M_HF                  (0xF) /* 16MHz或32MHz(4xPLL使能) HF */
    
/* 类型定义-------------------------------------------------------------------*/

/* 全局变量-------------------------------------------------------------------*/
    
/* 函数原型-------------------------------------------------------------------*/
void clk_init(uint8_t clkFreq);

#ifdef __cplusplus
}
#endif

#endif /* clk.h */